Исполнитель преобразует число на экране.
У исполнителя есть четыре команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 2
4. Умножить на 3
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 
2, третья – умножает на 2, четвёртая – умножает на 3.
Программа для исполнителя – это последовательность команд. Например, 
если в начальный момент на экране находится число 1, то программа 213
последовательно преобразует его в 3, 4, 8.
Сколько существует программ, которые преобразуют исходное число 1 
в число 11 и при этом содержат ровно одну команду умножения?

#запускаем с умножением на 3, отдельно на 2 и отдельно без умножения. далее пересеения множеств решениф
# Статград №3 14.02.2023  Вариант ИН22110301
def f(n,k,u,s):
    if n==k:return 1
    if n>k: return 0
    h=[]
    if u==0:
        h.append(f(n+1, k, u,s))
        h.append(f(n + 2, k, u,s))
        if s==2: h.append(f(n * 2, k, u+1,0))
        if s==3: h.append(f(n * 3, k, u+1,0))
    if u==1:
        h.append(f(n+1, k, u,s))
        h.append(f(n+2, k, u,s))
    return sum(h)

print(f(1,11,0,2)+f(1,11,0,3)-f(1,11,0,0)*2)
#152